.product-list {
  display: flex;
  flex-wrap: wrap;

  .product-item {
    position: relative;
    width: 94% * 1 / 3;
    margin-right: 3%;
    margin-bottom: 30px;
    perspective: 800px;

    &:nth-child(3n) {
      margin-right: 0;
    }

    .flip-wrapper {
      position: relative;
      height: 151px;

      .product-mask {
        position: absolute;
        width: 100%;
        height: 151px - 32px;
        top: 32px;
        left: 0;
      }

      &.flip {
        .cover-front {
          transform: rotateY(180deg);
        }

        .cover-back {
          transform: rotateY(0);
        }
      }
    }

    .cover {
      display: flex;
      flex-direction: column;
      align-items: center;
      border: 2px solid $color-brown;
      background-color: rgba(0, 0, 0, 0.5);
    }

    .cover-front {
      height: 100%;
      transform: rotateY(0);
      backface-visibility:hidden;
      transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);

      .title {
        width: 100%;
        line-height: 2;
        font-weight: bold;
        background-color: $color-brown;
        text-align: center;
        padding: 0 4px;
        padding-right: 10px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #fff;

        &:before {
          content: '\e65f';
          position: absolute;
          top: 0;
          right: 0;
        }
      }

      .logo {
        width: 70px;
        height: 70px;
        margin-top: 20px;
        background-image: image_url('innoawards/history_review/2014/meipai.jpg?imageView2/2/w/240');
        background-size: contain;
        background-repeat: no-repeat;
        background-color: #fff;
        background-position: center;
        border-radius: 20px;
      }
    }

    .cover-back {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      transform: rotateY(180deg);
      backface-visibility:hidden;
      transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);

      .title {
        position: relative;
        width: 100%;
        line-height: 2;
        font-weight: bold;
        text-align: center;

        &:after {
          content: '';
          width: 80%;
          position: absolute;
          left: 50%;
          bottom: 0;
          border-bottom: 1px solid #fff;
          transform: translateX(-50%);
        }
      }

      .inst-list {
        padding: 10px;
        width: 100%;
        text-align: center;

        .item {
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
      }
    }
  }

  .award-tag {
    width: 50px;
    height: 0;
    height: 50px * 122 / 106;
    position: absolute;
    bottom: 0;
    right: 0;
    background-image: image_url('innoawards/2016/award-tag.png');
    transform: translateY(50%);
    background-size: 100%;
  }

  a.vote-btn {
    color: #fff;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    background-color: $color-brown;
    padding: 3px 15px;
    white-space: nowrap;
    z-index: 10;
    transition: all 0.2s;

    &:hover {
      background-color: #EAB05C;
    }
  }

  a.vote-already {
    background-color: #EAB05C;
  }
}


@media (max-width: 750px) {
  .product-list {
    .product-item {
      .flip-wrapper {
        .cover-front {
          transform: rotateY(0);
          visibility: visible;
          opacity: 1;
        }

        .cover-back {
          transform: rotateY(0);
          visibility: hidden;
          opacity: 0;
        }

        &:hover {
          .cover-front {
            transform: rotateY(0);
          }

          .cover-back {
            transform: rotateY(0);
          }
        }
      }

      &.on-back {
        .flip-wrapper {
          .cover-back {
            visibility: visible;
            opacity: 1;
          }
          .cover-front {
            visibility: hidden;
            opacity: 0;
          }
        }
      }
    }
  }
}
